package com.valveinspectionsys.util;

import java.io.File;



import android.content.Context;
import android.os.Environment;
import android.text.TextUtils;
import android.widget.Toast;


/**
 * SD卡文件管理帮助类
 * 
 * @author king
 * 
 */
public class FileNameUtil {

 

    private Context context;

 

    /**
     * 取得SD卡路径
     * 
     * @return
     */
    public String getSDPath() {
	File sdDir = null;
	boolean sdCardExist = Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED); // 判断sd卡是否存在

	if (sdCardExist) // 如果SD卡存在，则获取跟目录
	{
	    sdDir = Environment.getExternalStorageDirectory();// 获取跟目录
	} else {
	    Toast.makeText(context, "SD卡不可用", Toast.LENGTH_LONG).show();
	    return null;
	}
	return sdDir.getPath();

    }

 

    /**
     * 删除文件
     * 
     * @param name
     */
    public void delectFile(String name) {
	
	String sd = getSDPath();
	String path = "";
	if (sd == null) {
	    return;
	}
	    path = sd + "/DeviceFile" + "/" + name;
	
	System.out.println(deleteDirectory(path)+"删除文件状态");
    }

    /**
     * 删除文件夹
     * 
     * @param sPath
     * @return
     */
    public boolean deleteDirectory(String sPath) {
	boolean flag = false;
	// 如果sPath不以文件分隔符结尾，自动添加文件分隔符
	// if (!sPath.endsWith(File.separator)) {
	// sPath = sPath + File.separator;
	// }
	File dirFile = new File(sPath);
	// 如果dir对应的文件不存在，或者不是一个目录，则退出
	if (!dirFile.exists() || !dirFile.isDirectory()) {
	    return false;
	}
	flag = true;
	// 删除文件夹下的所有文件(包括子目录)
	File[] files = dirFile.listFiles();
	for (int i = 0; i < files.length; i++) {
	   
	    // 删除子文件
	    if (files[i].isFile()) {
		 System.out.println("---文件路径------"+files[i].getAbsolutePath());
		flag = deleteFile(files[i].getAbsolutePath());
		
		if (!flag)
		    break;
	    } // 删除子目录
	    else {
		flag = deleteDirectory(files[i].getAbsolutePath());
		if (!flag)
		    break;
	    }
	}
	if (!flag) {
	    return false;
	}	
	 //删除当前目录
	 if (dirFile.delete()) {
	 return true;
	 } else {
	 return false;
	 }
    }

    /**
     * 删除单个文件
     * 
     * @param sPath
     * @return
     */
    public boolean deleteFile(String sPath) {
	boolean flag = false;
	File file = new File(sPath);
	// 路径为文件且不为空则进行删除
	if (file.isFile() && file.exists()) {
	    file.delete();
	    flag = true;
	}
	return flag;
    }

  

    /**
     *创建文件
     * 
     * @return
     */
    public String SDCardPath(String name) {
	String path = "";

	String sd = getSDPath();
	if (sd == null) {
	    return null;
	}
	path = sd + "/DeviceFile" + "/" + name;
	File file = new File(path);
	if (!file.exists()) {
	    file.mkdirs();// 创建文件夹
	}

	return path;

    }

    public String getImageDatePath() {

	File file = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);

	return file.getPath();
    }
}
